package com.websocket.config.rabbit;

import org.springframework.amqp.core.*;
import org.springframework.context.annotation.*;

/**
 * @ClassName FanoutSMSConfiguration
 * @Date 2021/6/30 0030 上午 10:27
 * @Author Administrator
 * @Description TODO
 * Version 1.0
 */
@Configuration
public class FanoutSMSConfiguration {
    String exchangetName = "htmlPush";// 交换机名字
    String queueName = "emailInfo"; // 队列名字


    /**
     * 创建 fanout交换机  （发布订阅模式）
     * @return
     */
    @Bean
    public  FanoutExchange fanoutExchange(){
        /**
         * @param1  交换机名字
         * @param2  是否持久化
         * @param3  param3 是否自动删除 （最后一个消费者断开连接之后队列是否自动被删除）
         */
        return new FanoutExchange(exchangetName,true,false);
    }


    /**
     * 创建队列
     * @return
     */
    @Bean
    public  Queue emailQueue(){
        return new Queue(queueName,true);
    }

    /**
     * 队列绑定交换机
     * @return
     */
    @Bean
    public  Binding  emailBinding(){
        return  BindingBuilder.bind(emailQueue()).to(fanoutExchange());
    }



}
